home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / u_man / cat1 / ftnlint.z / ftnlint
Encoding:
Text File  |  2002-10-03  |  11.4 KB  |  217 lines

  1. FTNLINT(1)                                            Last changed: 7-25-97
  2.  
  3.  
  4. NNAAMMEE
  5.      ffttnnlliinntt, ccfflliinntt - Checks Fortran programs for possible errors
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ffttnnlliinntt [--hh] [--oo _f_i_l_e_n_a_m_e] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r]
  9.      [--VV] _f_i_l_e..ff[9900] [_f_i_l_e..TT]  ...
  10.  
  11.      ccfflliinntt [--hh] [--oo _f_i_l_e_n_a_m_e] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r]
  12.      [--VV] _f_i_l_e..ff[9900] [_f_i_l_e..TT]  ...
  13.  
  14. IIMMPPLLEEMMEENNTTAATTIIOONN
  15.      ffttnnlliinntt is supported on UNICOS, UNICOS/mk, and IRIX systems
  16.  
  17.      ccfflliinntt is supported on UNICOS and UNICOS/mk systems
  18.  
  19. DDEESSCCRRIIPPTTIIOONN
  20.      The ffttnnlliinntt and ccfflliinntt commands check Fortran programs for program
  21.      constructs that may need further investigation (for example, arguments
  22.      that are never used or local variables used before they are defined).
  23.      ffttnnlliinntt and ccfflliinntt perform these checks on two levels:  local per
  24.      subprogram and global for all encountered subprograms.
  25.  
  26.      For each Fortran source file (..ff or ..ff9900 suffix) to be checked, you
  27.      must supply a corresponding compiler information file (..TT suffix).  On
  28.      UNICOS and UNICOS/mk systems, create the CIF by executing the ff9900(1)
  29.      command with the --CCaa option.  On IRIX systems, create the CIF by
  30.      executing the ff9900(1) command with the --cciiff option.
  31.  
  32.      The ffttnnlliinntt and ccfflliinntt commands support the following options:
  33.  
  34.      --hh        Displays only command line options and suppressable message
  35.                IDs (no program execution).
  36.  
  37.      --oo _f_i_l_e_n_a_m_e
  38.                Writes the output to _f_i_l_e_n_a_m_e instead of ssttddoouutt.
  39.  
  40.      --rr _n_u_m_b_e_r Restores/enables subprogram or global message _n_u_m_b_e_r, which
  41.                can be a range (for example, --rr2222--5511 or --rr550033--550077).  The
  42.                valid ranges for _n_u_m_b_e_r are 1 through 77 and 501 through
  43.                531.  --rr 00 restores all messages.  See individual message
  44.                IDs for local and global messages in the table that follows
  45.                (with --ss option).
  46.  
  47.      --ss _n_u_m_b_e_r Suppresses subprogram or global message _n_u_m_b_e_r, which can be
  48.                a range (for example, --ss2222--5511 or --ss550033--550077).  The valid
  49.                values for _n_u_m_b_e_r range from 1 through 77 and 501 through
  50.                531.
  51.  
  52.                The following lists show the message IDs for local and
  53.                global messages, any of which you can suppress by using the
  54.                --ss option.
  55.  
  56.                Message IDs per subprogram encountered:
  57.  
  58.  
  59.              1   Local Variable ____ may be used before it is defined
  60.              2   Local Variable ____ is declared but never used
  61.              3   Local Variable ____ is used but never defined
  62.              4   Local Variable ____ is defined but never used
  63.              5   Local Variable ____ is DATA-initialized but may be
  64.                       redefined before used
  65.              6   Local Variable ____ is DATA-initialized but never used
  66.              7   Local Variable ____ is EQUIVALENCEd but never used
  67.              8   Multiword Variable ____ is EQUIVALENCEd but may overrun
  68.                       its COMMON block partner
  69.              9   Module Local Variable is never used
  70.              10  Local Variable ____, IntSubPgm ____ overrides host version
  71.              11  No references to COMMON /____/
  72.              12  No references to the INCLUDEd COMMON /____/
  73.              13  COMMON /____/ is both INCLUDEd and explicitly declared
  74.              14  COMMON /____/ is both explicitly declared and available
  75.                       via a MODULE
  76.              15  COMMON /____/ is never referenced in parent Module
  77.              21  Argument ____ is never used
  78.              22  CALL ____ has a different ArgCnt than previous CALL
  79.                       encountered
  80.              23  Argument ____ is used as a dimension and is modified
  81.              24  Argument ____ has INTENT(OUT) but is neither written nor
  82.                       passed
  83.              31  Warning: DO-Loop Index __ (line ___) is in COMMON
  84.              32  Warning: DO-Loop Index __ (line ___) is an Argument
  85.              33  Warning: DO-Loop Index __ (line ___) is a Module variable
  86.              41  No references to PARAMETER ____
  87.              42  No references to the INCLUDEd PARAMETER ____
  88.              43  No reference to the Module PARAMETER ____
  89.              51  Subprogram ____ has neither a RETURN nor a STOP statement
  90.              52  Subprogram ____ appears to not do anything
  91.              53  __ Unused label(s)
  92.              54  FUNCTION ____ side-effect:  Argument(s) are written
  93.              55  FUNCTION ____ side-effect:  COMMON Block(s) are written
  94.              57  Internal Subprogram ____ is never called
  95.              58  Duplicate SubPgm name ____
  96.              61  No references to Statement Function ____
  97.              62  Line ____ is not reachable
  98.              63  NAMELIST /____/ is never used
  99.              65  Cray Pointer/ee ____ may be used before it is defined
  100.              66  Cray Pointer/ee ____ is declared but never used
  101.              67  Cray Pointer/ee ____ is used but never defined
  102.              68  Cray Pointee ____ is defined but never used
  103.              69  Cray Pointee ____ is used but associated Pointer ____ not
  104.                       defined
  105.              71  EQUIVALENCEd LocalVar ____ has same name as MODULE
  106.                       variable
  107.              72  EQUIVALENCEd LocalVar ____ has same name as MODULE
  108.                       ComBlk variable
  109.              73  No references to imported MODULE
  110.              74  No references to USEd Module
  111.              75  Module ____ USEd more than once
  112.              76  USEd Module ____ also imported into parent Module
  113.              77  Duplicate Module name ____
  114.  
  115.                Message IDs for global call-chain concerns:
  116.  
  117.  
  118.                501  No callers
  119.                502  Argument count mismatch
  120.                503  Argument type mismatch
  121.                504  Expression passed as argument, Callee writes/passes
  122.                505  Expression passed as argument, Callee expects array
  123.                506  DO-Loop index sent as argument, Callee writes/passes it
  124.                507  Argument dimensionality mismatch
  125.                508  Duplicate argument sent, Callee writes/passes one
  126.                509  Argument sent from COMMON, Callee writes that COMMON
  127.                510  Possible hidden alias
  128.                511  COMMON Block length mismatch
  129.                512  COMMON block is never used
  130.                513  COMMON block is read-only
  131.                514  COMMON block is write-only
  132.                515  NAMELIST length mismatch
  133.                516  FUNCTION return value mismatch
  134.                517  F90 argument attribute mismatch
  135.                518  F90 caller: required explicit interface block missing
  136.                519  F90 dummy argument INTENT error
  137.                520  Subprogram needs RECURSIVE keyword
  138.                521  SUBROUTINE/FUNCTION CALL mismatch
  139.                522  Duplicate Subprogram name
  140.                523  Duplicate Module name
  141.                524  Argument (Subprogram) mismatch
  142.                525  Argument (Derived Type) mismatch
  143.                526  Possible argument (SUBROUTINE/FUNCTION) mismatch
  144.                527  Alternate ENTRY has no callers
  145.                528  Subprogram/Interface Block mismatch
  146.                529  Common block has multiple SubPgm DATA initializations
  147.                530  Argtype (Alternate-RETURN-label) mismatch
  148.                531  FUNCTION return value dimension mismatch
  149.  
  150.  
  151.      --VV        Prints version information to the ssttddeerrrr file.
  152.  
  153.      _f_i_l_e..ff[9900] [_f_i_l_e ..TT]
  154.                Specifies the set of target Fortran source files and their
  155.                derived Compiler Information Files.  Source file names can
  156.                be suffixed with either ..ff or ..ff9900.  When the ..TT file name
  157.                can be generated by replacing the ..ff or ..ff9900 with a ..TT, you
  158.                do not have to specify the ..TT file name explicitly.  The ..ff
  159.                and ..ff9900 files must precede their corresponding ..TT files
  160.                specified.
  161.  
  162. FFIILLEESS
  163.      These commands look for files named ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc in your
  164.      home directory and the current working directory; they concatenate
  165.      them (in that order); and they prepend the resulting string to the
  166.      command line options.  The ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file can contain
  167.      any combination of command line options, but a maximum of one
  168.      --oo _f_i_l_e_n_a_m_e option is allowed.  The ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file
  169.      cannot contain file names.  Newline characters are silently converted
  170.      to blanks.  The command line options are processed left to right, so
  171.      options included in the ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file can be
  172.      overridden.
  173.  
  174. NNOOTTEESS
  175.      ffttnnlliinntt and ccfflliinntt output is not designed to be used as input to other
  176.      tools.
  177.  
  178.      These tools perform only limited analysis of subprograms that contain
  179.      syntax errors.
  180.  
  181.      For more information about writing and using tools based on output
  182.      from an ff9900 compilation, see the _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F)
  183.      _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401.  SR-2401, a Cray Research
  184.      publication, contains information for UNICOS and UNICOS/mk systems
  185.      only.
  186.  
  187.      These tools perform limited EEQQUUIIVVAALLEENNCCEE analysis, which assumes that
  188.      if a local variable appears in an EEQQUUIIVVAALLEENNCCEE statement, it is not
  189.      subject to analysis (for example, uussee bbeeffoorree ddeeffiinniittiioonn).
  190.  
  191.      The ffttnnlliinntt and ccfflliinntt commands are a subset of the ffttnnlliisstt(1) and
  192.      ccfflliisstt(1) commands.
  193.  
  194. EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
  195.      If the FFTTNNLLIINNTTRRCC environment variable is set to OOFFFF or the CCFFLLIINNTTRRCC
  196.      environment variable is set to OOFFFF, all ..ffttnnlliinnttrrcc and ..ccfflliinnttrrcc files
  197.      are silently ignored.
  198.  
  199. RREETTUURRNN VVAALLUUEESS
  200.      The ffttnnlliinntt and ccfflliinntt commands return 0 on normal completion and
  201.      nonzero for abnormal termination.
  202.  
  203. BBUUGGSS
  204.      ffttnnlliinntt and ccfflliinntt accept Fortran program source files that end in ..FF
  205.      or ..FF9900, but some of the functionality described on this man page is
  206.      not present for files with ..FF and ..FF9900 suffixes.
  207.  
  208. SSEEEE AALLSSOO
  209.      ccfflliisstt(1), ffttnnlliisstt(1), ff9900(1)
  210.  
  211.      _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F) _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401
  212.  
  213.      SR-2401, a Cray Research publication, describes the CIF only for
  214.      UNICOS and UNICOS/mk systems.
  215.  
  216.      This man page is available only online.
  217.